Systems and methods for interfacing with a user in instant messaging

ABSTRACT

Reducing the amount of input required by a user to enter an electronic message. When an electronic message is received, one or more language expressions associated with the electronic message are displayed to a user. The user may select one or more of the language expressions and have the full text of all the selected language expressions included in a reply electronic message. Icons, which represent a user&#39;s capability to engage in an electronic messaging session, may also be displayed. When a user changes their capability to engage in an electronic messaging session, for instance when they go offline, a command may be sent to other users. This command may take the form of a character sequence not normally occurring in written language, which is interpreted by network devices and changes the display of the icon associated with a the user who went offline.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of both application Ser. No.09/867,944, filed May 30, 2001, and entitled “SYSTEMS AND METHODS FORINTERFACING WITH A USER IN INSTANT MESSAGING” and application Ser. No.11/205,714, filed Aug. 17, 2005, and entitled “SYSTEMS AND METHODS FORINTERFACING WITH A USER IN INSTANT MESSAGING”, both of which areincorporated here by reference.

BACKGROUND OF THE INVENTION

1. The Field of the Invention

The present invention relates to the field of electronic messaging. Morespecifically, the present invention relates to reducing the amount ofinput required when generating electronic messages using a device withlimited input capabilities.

2. The Related Art

The popularity of the Internet has profoundly improved the way peoplecommunicate by allowing users quick and easy access to information. Byaccessing the World Wide Web, electronic mail, and instant messagespeople now stay in touch with each other around the globe, and canaccess information on a virtually limitless variety of subjects. As thepopularity of the Internet continues to grow, there is an increase inthe number of non-conventional devices used to communicate on theInternet. Devices such as mobile phones, pagers and televisions areoften used to access information on the Internet. As a result, it may bethe case that two users are engaged in a messaging session where one orboth of the users are not using a conventional computer system.

As well as receiving information on such devices, there is a need toefficiently input information for transmission to others. Devices suchas mobile phones, pagers and televisions conventionally have inputdevices that lack the functionality of a computer keyboard. As a result,there is often a need to select multiple keys on a touch-tone keypad orremote control to generate a single letter of readable text.

One such method assigns multiple characters to a single key. A userselects a certain letter by pressing the same key multiple times. Forinstance, the “1” key on a touch-tone keypad may be assigned the letters“a,” “b,” and “c.” To select the letter “a”, the user would need topress the “1” key once, for “b” twice and for “c” three times. Suchmethods may also included pressing another key to shift a device fromnumeric mode into alphabetic mode.

Another method assigns numeric values to each letter in the alphabet.For instance, to enter the letter “c” a user might press the “0” key andthen the “3” key on a television remote control. These methods may alsoincluded pressing another key to shift a device from numeric mode intoalphabetic mode.

Conventional methods require a user to use multiple keystrokes to selecta character, where only one keystroke would be required on aconventional computer keyboard. Additionally, users of devices employingsuch methods must be familiar with the associations between the numerickeys and the letters they represent. Furthermore, different devices mayassign different keys to represent different letters, which furtherconfuses users. These all lead to reduced efficiency when entering datausing a limited input device.

Electronic messaging is one area where the reduced efficiency may beburdensome to a user. Some types of electronic messaging, such asinstant messaging, operate in nearly real-time. A typical instantmessage will include multiple text characters. Entering multiplekeystrokes to generate each text character may lead to delay inresponding to a message. This in turn may cause recipients to waitlonger when receiving an instant message as compared to a user inputtingcharacters on a limited input device. In a nearly real-timecommunication environment, such delay may be unacceptable.

Accordingly, what are desired are systems, methods, and computer programproducts that reduce the amount of input required to enter electronicmessaging data on devices with limited input capabilities.

SUMMARY OF THE INVENTION

The principles of the present invention provide for reducing the amountof input required by a user who is entering electronic messaging datawith a limited input device. A network device, such as a television, isconfigured so that the user may engage in electronic messaging sessions,such as instant messaging. The television is associated with a network,such as a cable television network. Included on the network are otherdevices that are configured to engage in electronic messaging sessions.These other network devices may be televisions as well, or may becomputers, pagers, cell phones, or any device capable of engaging in anelectronic messaging session.

In the case of instant messaging, a user may receive an instant message,which is displayed on the video display of their television. After themessage is received one or more language expressions associated with theinstant message are extracted. A language expression may include anynumber of characters capable of being displayed on the television. Forexample, a language expression may be a single character or it may be acomplete sentence.

Such language expressions may be extracted from the text of the instantmessage, from a data dictionary, or from closed caption data. Theinstant message and associated language expressions may be displayedsimultaneously with other content, such as regular televisionprogramming. If a user is dissatisfied with the currently displayedlanguage expressions, the user may scramble the language expressions sothat new language expressions are displayed.

A user may then send a command from a remote control or other limitedinput device to select one of the language expressions. When a languageexpression is selected the entire language expression is included in areply instant message. Since language expressions may include more thanone character, a user may be able to enter text more quickly. Forinstance, if a language expression was a complete sentence, the usercould enter the complete text of the sentence at once, reducing theamount of input required. Reducing the amount of input required in turnreduces the amount of time a user must spend to generate a reply instantmessage. This is especially advantageous when using a limited inputdevice in which text entry is more time consuming.

In addition to displaying language expressions, icons associated withother instant messaging users may be displayed. These icons representthe associated user's current status. For instance, the status mayindicate whether the user is online and ready to receive instantmessages, offline, or online but unavailable to receive instantmessages. Such icons may change when the status of the associated userchanges. When a user changes status, other users receive a command,which changes the display of that user's icon. Status changes may beincluded as part of an instant message.

Status changes included as part of an instant message may be caused by asequence of characters that do not typically occur in written language.When a given sequence of characters is received, instead of displayingthe characters on a display, the characters are interpreted as changingthe sending user's status. For example, when a user enters text oftenused to draw a happy face (sometimes referred to as “emoticons”), thischaracter sequence is received and the sending users icon, which isdisplayed to the other users, changes to represent that emoticon.

If a message is not received because a user is offline or unavailable,the complete message may have to be re-entered at a later time. Thepresent invention reduces the likelihood of this occurrence since usersknow when other users are available to engage in an instant messagingsession. Preventing a user from having to re-enter a completed instantmessage reduces the amount of input required by the user.

Additional features and advantages of the invention will be set forth inthe description, which follows, and in part will be obvious from thedescription, or may be learned by the practice of the invention. Thefeatures and advantages of the invention may be realized and obtained bymeans of the instruments and combinations particularly pointed out inthe appended claims. These and other features of the present inventionwill become more fully apparent from the following description andappended claims, or may be learned by the practice of the invention asset forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the manner in which the above-recited and other advantagesand features of the invention are obtained, a more particulardescription of the invention briefly described above will be rendered byreference to specific embodiments thereof, which are illustrated, in theappended drawings. Understanding that these drawings depict only typicalembodiments of the invention and are not therefore to be considered tobe limiting of its scope, the invention will be described and explainedwith additional specificity and detail through the use of theaccompanying drawings in which:

FIG. 1 illustrates an exemplary system that provides a suitableoperating environment for the present invention;

FIG. 2 illustrates some of the functional components present in a systemwhere the input required to enter an instant message is reduced;

FIG. 3 is a flow diagram illustrating a method whereby the inputrequired to enter an instant message is reduced;

FIG. 4 illustrates an example of a user interface where the inputrequired to enter an instant message is reduced;

FIG. 5 is a flow diagram illustrating a method whereby a first user ismade aware of a change in a second user's capability to engage in aninstant messaging session; and

FIG. 6 illustrates several emoticons and how such emoticons change byreceiving certain characters.

DETAILED DESCRIPTION OF THE INVENTION

The present invention extends to both methods and systems for moreefficiently entering text characters using limited input devices.Language expressions are associated with an instant message when themessage is received. The language expressions are displayed so that auser may select a language expression and have the language expressionincluded in a return instant message.

In operation, when a network device receives an instant message, thenetwork device automatically extracts one or more language expressionsassociated with the instant message. The associated language expressionsmay be extracted directly from the received instant message, from a datadictionary or from closed caption data. The network device displays thelanguage expressions simultaneously with the received instant message.The network device then receives a user selection of one or more of thelanguage expressions, which may come from a remote control or otherlimited input device. The selected language expressions are thenincluded in a reply instant message to the received instant message.

The embodiments of the present invention may comprise a special purposeor general-purpose processing device or computer including variouscomputer hardware components, as discussed in greater detail below. Theembodiments may further comprise multiple computers linked in anetworked environment. Set top boxes that enhance the capabilities ofconventional televisions represent an example of a special purposecomputer.

Embodiments within the scope of the present invention also includecomputer-readable media for carrying or having computer-executableinstructions or data structures stored thereon. Such computer-readablemedia can be any available media that can be accessed by a generalpurpose or special purpose computer. By way of example, and notlimitation, such computer-readable media can comprise physical storagemedia such as RAM, ROM, EEPROM, CD-ROM or other optical disk storage,magnetic disk storage or other magnetic storage devices, or any othermedium that can be used to carry or store desired program code means inthe form of computer-executable instructions or data structures and thatcan be accessed by a general purpose or special purpose computer.

When information is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, such a connection isalso properly termed a computer-readable medium. Combinations of theabove should also be included within the scope of computer-readablemedia. Computer-executable instructions comprise, for example,instructions and data which cause a general purpose computer, specialpurpose computer, or special purpose processing device to perform acertain function or group of functions.

The invention will be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by set-top boxes or other computers. Generally, program modulesinclude routines, programs, objects, components, data structures, etc.that perform particular tasks or implement particular abstract datatypes. The sequence of instructions implemented in a particular datastructure or program module represents examples of corresponding actsfor implementing the functions or steps described herein.

FIG. 1 and the corresponding discussion are intended to provide ageneral description of a suitable environment in which the invention maybe implemented. In the discussion, reference is made to a homeentertainment system that may be used for displaying and/or recordingprogramming. For purposes of this description and in the claims, a “homeentertainment system” may be a display unit, such as a televisionscreen, coupled to a processing device for performing the dataprocessing steps disclosed herein, or may include any number ofinterconnected consumer electronic devices, one of which having aprocessing device for performing the data processing disclosed herein.

Examples of such consumer electronic devices include a video cassetterecorder (“VCR”), a video game system, a stereo system, a television ormonitor with data processing capabilities, a cable television box, adigital satellite system receiver (“DSS”), a digital video broadcastingsystem (“DVB”), a digital versatile disc system (“DVD”), a compact diskread-only memory system (“CD-ROM”), a set-top box that serves as anInternet terminal, and any other device capable of processing data asdescribed herein. Furthermore, the term “home entertainment system” isto be understood as a term that broadly describes a television-viewingenvironment, whether it is located in a viewer's home, at a place ofbusiness, in the public, or at any other location. Also for purposes ofthis description and in the claims, the term “programming” includes boththe viewable and non-viewable portions of moving image data and itsassociated sound data.

In one embodiment, the present invention is implemented in a system thatuses a conventional television screen or other display unit to displayinformation and includes a WebTV® set-top box or a similar Internetterminal that has been adapted to perform the operations that includecomposing, sending and receiving email, browsing the World Wide Web(“Web”), accessing other segments of the Internet, and otherwisedisplaying information. An Internet terminal may use standard telephonelines, Integrated Services Digital Network (ISDN) lines, cable linesassociated with cable television service, or the like to connect to theInternet or other wide area networks.

FIG. 1 illustrates a home entertainment system 110 that includes amanagement system 112, a display device 114 and an audio system 116.Management system 112 may be a set-top box or Internet terminal that hasbeen adapted to perform the operations disclosed herein. Managementsystem 112 may be integrally positioned with or separate from displaydevice 114, which may be a high definition television display, astandard television display, a flat panel display, a projection device,a high definition television display, a computer monitor, or any otherdevice capable of displaying viewable video image data. Audio system 116may be a speaker, a stereo system, or any device capable of emittingsound data, and similarly may be integrally positioned with or separatefrom display device 114.

Management system 112 includes a signal input 118, which receivesprogramming from a signal source 120. The programming is transmittedfrom signal source 120 to signal input 118 via a programming input line122, which can be a cable or optic connection, a terrestrial antennasystem, a satellite system, or any device or system capable oftransmitting programming to management system 112.

The signal source 120 may be either a single channel signal source or amultiple channel signal source. A single channel signal source providesprogramming from a recorded medium, such as a videocassette, compactdisc, etc. Examples of a single channel signal source include a VCR, aDVD, and the like. Alternatively, a multiple channel signal sourceincludes any system or device that is capable of sending a signal thatmay be received by a satellite receiver, a cable or optic connection, aterrestrial antenna, or the like. Examples of a multiple channel signalsource include DSS/DVB, a cable box, locally broadcast programming (i.e.programming broadcast using UHF or VHF), and the like.

While FIG. 1 illustrates home entertainment system 110 as having asingle programming input line 122 and a single signal source 120, theremay also be a plurality of programming input lines that transmitprogramming from a plurality of signal sources. In such embodiments, thehome entertainment system may receive the programming from one signalsource or from a plurality of signal sources at a time.

Management system 112 also includes a user input interface 124, whichreceives input from an input device 126, such as a remote control,external special purpose or general-purpose processing device orcomputer, keyboard, microphone, mouse, or any other device capable ofgenerating electronic instructions for management system 112. Inputdevice 126 is communicatively coupled to management system 112 over aninput link 128 so as to enable such control. Input device 126 generateselectronic instructions over input link 128 in response to preprogrammeddata or in response to a viewer pressing buttons on input device 126.Input device 126 may also control Web browser software within managementsystem 112 as when management system 112 is a set-top box or an Internetterminal that has been adapted to perform the operations disclosedherein. For instance, input device 126 may be programmed to turn on homeentertainment system 110 and to tune management system 112 to a channel.

FIG. 1 illustrates a signal recorder 130, which is capable of receivingvideo and/or audio data and recording the data on a storage medium.Video signals are transmitted to display device 114 and/or signalrecorder 130 by video image links 132 a and 132 b respectively, examplesof which include a radio-frequency (“RF”) link, an S-video link, acomposite link, or any other equivalent form of video image link.Similarly, audio links 134 a and 134 b transmit audio data frommanagement system 112 to audio system 116 and/or to signal recorder 130.

The operation of management system 112 is controlled by a centralprocessing unit (“CPU”), illustrated as processing unit 136, which iscoupled to an application-specific integrated circuit (“ASIC”) 138 viasystem bus 140 and uses computer-executable instructions implemented insoftware and/or hardwired logic circuitry. Processing unit 136 and ASIC138 are also coupled via a system bus 140 to various other systemcomponents, including system memory 142, mass storage interface 144,user interface 124 and signal input 118. Processing unit 136 may executesoftware designed to implement features of management system 112including features of the present invention.

ASIC 138 includes circuitry that is used to implement certain functionsof management system 112. Instructions, data, and other program modulesnecessary for the operation of processing unit 136 and necessary for theoperation of the ASIC 138 may be stored in mass storage device 150and/or system memory 142, which includes read-only memory (“ROM”) 146and random-access memory (“RAM”) 148. System memory 142 is coupled tosystem bus 140 and mass storage device 150 is coupled to mass storageinterface 144, which is in turn also coupled to system bus 140. Thus,ROM 146, RAM 148 and mass storage device 150 are communicatively coupledto ASIC 138 so as to be readable by ASIC 138 and so that data may bewritten from ASIC 138 to RAM 148 and to mass storage device 150. Massstorage device 150 may be a magnetic hard disk 152, but may also be anyof the other computer-readable media referenced above.

Any desired computer-readable instructions or data, includingapplication programs 154, other program modules 156, and an electronicprogramming guide (“EPG”) 158, which specifies the broadcast times andchannels of programs can be stored in mass storage device 150.

Mass storage device 150 may also be used to record video data 153, inwhich case, management system 112 performs the functions of a digitalvideo recorder. Digital video data may be received by home entertainmentsystem 110 from a variety of sources including signal source 120, remotecomputer 160, video game 168, input device 126 and the Internet.

EPG data may be obtained in a variety of manners. For instance, the EPGdata can be supplied to management system 112 by a remote computer 160,such as a server, or from devices on the Internet and stored on massstorage device 150. The EPG data may be supplied on a regular basis tocontinually maintain a current schedule of programming at the managementsystem 112. Alternatively, the EPG may be delivered to homeentertainment system 110 by using a direct-dial communication overstandard telephone lines, or by using data transmission over the cabletelevision infrastructure, a satellite network, an over-the-airbroadcasting or any other available medium, including those previouslymentioned.

In the embodiment where management system 112 is associated with theInternet, management system 112 may communicate with remote computer 160via wide area network (“WAN”) 162 using a variety of techniques,including interposing serial port interface 164 between the system bus140 and modem 166, using a wireless link, or other means forestablishing communications over a WAN that may be internal or externalto management system 112. Management device 112 is also capable oftransmitting information via the Internet by direct-dial communicationover standard telephone lines, or by using any other availablecommunication medium.

While serial port interface 164 may be utilized to connect modem 166 forcommunicating across a WAN, serial port interface may also be utilizedto connect other consumer electronic devices, such as video game 168,and/or various input devices, such as a keyboard (not shown) or joystick(not shown), to management device 112.

Referring now to signal input 118, if the signal on programming inputline 122 includes multiple channels, a tuner 170 included in signalinput 118 tunes to a selected channel in the signal. Multiple tuners 170can be used to provide enhanced viewing features, such aspicture-in-picture, recording one channel while viewing another, andrecording a plurality of channels simultaneously. A signal decoder 172may convert video data from an analog format to a digital format, from adigital format to an analog format, or convent between varying digitalformats, in the event that ASIC 138 and tuner 170 employ differentformats. Signal decoder 172 may also decode video data from a compressedvideo format (e.g. MPEG). In embodiments where the management system 112includes multiple tuners 170, management system 112 may also includemultiple signal decoders 172 to perform the operations disclosed herein.

Management system 112 may also include video output 174, which mayinclude a video encoder and/or a video converter. The video encoderassigns a code to frames of video data that are transmitted across videoimage links 132 a and 132 b and switches between analog and digitalformats as necessary. Similarly, audio output 176 can include an audioconverter to provide the necessary switching between analog and digitalformats across audio links 134 a and 134 b.

In this description and in the following claims, the term limited inputdevice, C refers to any input device that may require more keyselections than a standard computer keyboard to enter a character oftext. Examples of such devices are remote controls and telephone touchpads.

In this description and in the following claims, the term languageexpression refers to one or more text characters that when viewed havemeaning to the viewer. There is no limit on the number of textcharacters that may be included in a language expression. For example, alanguage expression may be a word, a complete sentence or a completeparagraph of text.

In the following description, the practice of the present invention isdiscussed in reference to instant messages. However, it should beunderstand that the present invention may be practiced with any type ofelectronic messaging, such as electronic mail and the like.

While FIG. 1 and the corresponding discussion above provide a generaldescription of a suitable environment in which the invention may beimplemented, it will be appreciated that the features of the presentinvention disclosed herein may be practiced in association with avariety of different system configurations. This is true of thefunctional components included in FIG. 2 as well. The functionalcomponents included in FIG. 2 illustrate only one example of thepractice of the invention. It should be understood that the invention,as embodied in FIG. 2, might also be practiced in a configuration thatadditionally includes one or more of the components as illustrated inFIG. 1.

FIG. 2 illustrates a network system 200 suitable for implementing theprinciples of the present invention. The network system 200 includestelevision 201, set C top box 202, cable television network 203, network205, and remote control 207. Cable television network 203 and network205 may be associated with one or more devices such as cable devices 204and one or more network devices 206. Television 201 includes displaydevice 208 and audio system 204. Set top box 202 may be, for example,management system 112 as described in FIG. 1. The components of networksystem 200 mentioned above work together to implement the principles ofthe present invention.

FIG. 3 illustrates a method 300 that allows the user of television 201to reduce the amount of input required when engaging in an instantmessaging session. The method of FIG. 3 will be described in the contextof the network system illustrated in FIG. 2. Thus, elements of bothFIGS. 2 and 3 will be referred to frequently in describing the operationof the present invention. The functionality of each of the components ofFIG. 2 will become clear from the following description relating to bothFIG. 2 and FIG. 3.

In operation, set top box 202 receives an instant message (act 301). Theinstant message may have originated from one of cable devices 204 ornetwork devices 206. Network 205 may be any type of network, includingthe Internet, which provides a medium for network devices 206 to engagein instant messaging sessions. Network devices 206 may includecomputers, cell phones, pagers, or any other device that may becommunicatively coupled to network 205 so as to engage in an instantmessaging session. Cable television network 203 is a television networkthat may provide television programming, broadband services or acombination of both television programming and broadband services toassociated devices. For instance, device 204 a may be a standard cabletelevision, which receives television programming. On the other hand,network device 204 b may be a computer that includes a cable modem. Itmay also be the case that devices included in cable devices 204 arecommunicatively coupled to cable television network 203 and network 205simultaneously. Network device 204 c is an example of such a device.

Set top box 202 is also associated with both cable television network203 over communication coupling 223. The set top box 202 is alsoassociated with network 205 over communication coupling 222. Set top box202 may communicate with network 205 using any of the techniquesdescribed in relation to wide area network 162 from FIG. 1, includingcommunication via the Internet over standard telephone lines. Likewise,set top box 202 may communicate with cable television system 203, usingany of the techniques described in relation to input line 122 fromFIG. 1. The invention may be practiced when an instant message isreceived from any of the above mentioned devices and may be practicedwhen an instant message is received using any of the above mentionedcommunications techniques.

After receiving an instant message (act 301), set top box 202automatically extracts one or more language expressions associated withthe instant message (act 302). Language expressions may be extractedusing a program module, such as extraction module 209. Extraction module209 may be included in application programs 154 or other program modules156, as illustrated in FIG. 1. Extraction module 209 may be stored indifferent memory locations including system memory 142 or mass storagedevice 150, as illustrated in FIG. 1. Extraction module 209 is just oneexample of how to extract language expressions. Any other software orhardware module that searches text to find a particular series ofcharacters will work as well.

The language expressions may be extracted from a variety of differentsources. C Extraction module 209 may simply extract words directly fromthe received instant message. Extraction module 209 may also extractlanguage expressions from a data dictionary, which includes languageexpressions from previously received instant messages, languageexpressions input by a user, downloaded language expressions, orlanguage expressions received in some other manner by set top box 202.Additionally, since set top box 202 receives television programming viacommunications coupling 223, extraction module 209 may extract languageexpressions from closed caption data.

Extraction module 209 may use a variety of different techniques toselect which language expression will be extracted. Extraction module209 may randomly select language expressions from any of the abovesources. However, extraction module 209 may access previously storedword associations from one of the storage locations associated with settop box 202.

It may also be that one or more of the selection techniques areintegrated in order to access language expressions stored in multiplememory locations. In one alternative embodiment, a data dictionaryincludes one or more word associations. When an instant message isreceived, extraction module 209 may scan the data dictionary for eachlanguage expression received in the instant message. Extraction module209 may then select language expressions received in the instant messageand/or language expressions in the data dictionary for extraction.Alternately, extraction module 209 may access previous word associationswhen scanning for language expressions in closed caption data.

In another alternative embodiment, set top box 202 may temporarilybuffer the closed caption data in associated memory locations. When aninstant message is received, extraction module 209 scans the bufferedclosed caption data for language expressions associated with thereceived instant message. Since set top box 202 may process instantmessages and television programming simultaneously, this embodiment isespecially useful for engaging in an instant messaging sessiondiscussing television programming.

After extracting language expressions (act 302), one or more languageexpressions associated with the received instant message are displayed(act 303). This may involve set top box 202 transmitting the languageexpressions to television 201 over communications coupling 221.Television 201 receives the language expressions for display on displaydevice 208. Communications coupling 221 may simply carry video datasimilar to video image link 132 a from FIG. 1. However, communicationscoupling 221 may be an integrated link including the functionality ofaudio link 134 a and carrying video data and audio data simultaneously.

Once the language expressions are displayed (act 303), set top box 202receives a user selection of one of more of the language expressions(act 304). The selection may be received from a limited input device,such as remote control 207. If a user is not satisfied with thedisplayed language expressions, a command may be given to display a newset of language expressions. In one embodiment, selecting and extractinga new set of language expressions by repeating act 303 may do this.

In another embodiment, multiple sets of language expressions may beselected and extracted in act 303. However, only one set of languageexpressions is displayed, the rest being buffered in one of the memorylocations included in set top box 202. When a command is received todisplay a new set of language expressions, one of the buffered sets oflanguages expressions is retrieved and displayed.

After one or more of the language expressions are selected (act 304),the C language expressions are included in a reply instant message tothe received instant message (act 305).

Since language expressions may include more then one character andmultiple language expressions may be selected at once, the inputrequired to include such language expressions is reduced. This isparticularly advantageous on devices with limited input capabilities,such as a television remote control, which may require multiple keyselections to enter one character of text. Also, since displayedlanguage expressions are extracted based on the contents of a receivedinstant message there is an increased chance they will be used in areply message. However, if a user wishes to replace the current languageexpressions with new language expressions, they may do so.

Instant messaging users may also manually enter a word or phrase usingan on-screen keyboard or other manual-entry interface requiring users toenter words letter-by-letter. Once such words or phrases are entered,they too are added to the buffer, where they can later appear as theuser selects words.

FIG. 4 illustrates one example of an instant messaging user interface asillustrated on a display 400. Included in display 400 are extractedlanguage expressions 402, which are displayed in response to receivinginstant message 405. A user may select language expressions included inextracted language expressions 402 by manipulating keys on a remotecontrol or other limited input device. One example of this type ofmanipulation is pressing arrow keys on a remote control to move betweenlanguage expressions and then pressing a select key to select aparticular language expression. When one or more of the languageexpressions is selected, another command may be received and thelanguage expressions are entered in text entry area 404.

Also included in display 400 are instant messaging users 403, whichinclude all the instant messaging users that may be contacted by theuser of display 400. In this case, instant messaging users 403 includesPerson1, Person 2, and Person3. An individual user may be selected in amanner similar to selecting a language expression.

Associated with instant messaging users 403 is icon 401. In display 400,icon 401 is used to represent the current state of Person1. Person1 maychange the appearance of icon 401, and thus their current state, bysending a command to the network device associated with display 400. Forinstance, Person1 may change the appearance of icon 401 when goingoffline or when Person1 is not able to receive instant messages.Commands for changing the appearance of icons, such as icon 401 may beincluded in instant messages.

FIG. 5 illustrates a method for changing the appearance of an iconassociated with an instant messaging user. The method begins bydisplaying an initial status icon to a first user of a first networkdevice, which represents a second user's capability to engage in aninstant messaging session (act 501). In FIG. 4, icon 401 representsPerson1's capability to engage in an instant messaging session. Theappearance of icon 401 is not important, as long as the user of display400 is aware of the meaning of the displayed icon.

A character sequence is associated with a changed status icon (act 502).A character sequence may include one or more hidden characters, mayinclude characters from a previously entered text string, and may be acharacter sequence not normally occurring in written language, whichwhen viewed would have little if any meaning to the viewer. Forinstance, the sequence “!!)” may represent a user is offline. If “!!)”were viewed, a viewer would get little meaningful information from thecharacter sequence. Similarly, recognized character sequences that aresometimes referred to as “emoticons” may also change the status icon torepresent the user's state.

FIGS. 6A and 6B show examples of how an initial status icon may changeafter receiving a character sequence associated with a changed statusicon. In FIG. 6A, a user associated with initial status icon 601 isrepresented as frowning. A network device associated the user mayreceive character sequence 602 “:)”, resulting in changed status icon603 which represents that the user associated with changed status iconis smiling. In FIG. 6A, a network device associated with a user receivescharacter sequence 603 “>:”. Character sequence 605 changes initialstatus icon 604 to changed status icon 606 representing that the userassociated with changed status icon 606 is mad.

When network device receives such a character sequence (act 503), achanged status icon is displayed to the first user to represent a changein the second users capability to engage in an instant messing session(act 504). The character sequence may be sent as an individual commandor included in an instant message. When the character sequence isincluded in an instant message, the network device associated withdisplay 400 processes the character sequence to change the icon. In oneembodiment, the network device associated with display 400 may strip thecharacter sequence from the instant message before displaying thecontents of the instant message.

Displaying an icon to represent a user's state may prevent instantmessages from being sent to a user who is not capable of engaging in aninstant messaging session. An instant message that is sent to a user whois not capable of engaging in an instant messaging session may need tobe completely reentered at a later time. On a device with limited inputcapabilities, this may require extensive data input. By displaying astatus icon, the chance of needing to completely reenter an instantmessage is reduced.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges, which come within the meaning and range of equivalency of theclaims, are to be embraced within their scope.

1. A computer program product for use in a network system including atleast two network devices network connectable so as to be capable ofengaging in an instant messaging session, the computer program productcomprising one or more computer-readable storage media havingcomputer-executable instructions for implementing a method for users ofthe at least two network devices to communicate via instant messagingand for reducing the amount of input required by the users, wherein themethod comprises: a first network device receiving a first instantmessage; automatically, and without user intervention, extracting one ormore language expressions associated with the first instant message,including at least one language expression from a data dictionary havinglanguage expressions from a previously received instant message;displaying one or more language expressions associated with the firstinstant message at the first network device; receiving a user selectionof one or more of the language expressions displayed at the firstnetwork device; and including the selected language expressions in areply instant message to the first instant message.
 2. The computerprogram product as recited in claim 1, wherein a first network devicereceiving a first instant message comprises the following: a televisionset top box receiving a first instant message.
 3. The computer programproduct as recited in claim 1, wherein extracting one or more languageexpressions associated with the first instant message comprises thefollowing: extracting one or more language expressions from the contentsof the first instant message.
 4. The computer program product as recitedin claim 1, wherein extracting one or more language expressionsassociated with the first instant message comprises the following:extracting one or more language expressions from text manually enteredby the user.
 5. The computer program product as recited in claim 1,wherein extracting one or more language expressions associated with thefirst instant message comprises the following: extracting one or morelanguage expressions from a data dictionary.
 6. The computer programproduct as recited in claim 1, wherein the method further comprises:scrambling the one or more displayed language expressions associatedwith the first instant message in order to display one or more otherlanguage expressions that were not displayed before the scramblingoccurred.
 7. The computer program product as recited in claim 1, whereinreceiving a user selection of one or more of the language expressionsdisplayed at the first network device comprises the following: receivingfrom a limited input device a user selection of one or more of thelanguage expressions displayed at the first network device.
 8. Thecomputer program product as recited in claim 21, wherein the methodfurther comprises; changing the appearance of one or more displayedicons when a specific character sequence not typically occurring inwritten language is received by the first network device.
 9. In a firstnetwork device associated with a network system including at least twonetwork devices that are network connectable so as to be capable ofengaging in an instant messaging session, a method for users of the atleast two network devices to communicate via instant messaging andreducing the amount of input required by the users, the methodcomprising: receiving a first instant message; automatically, andwithout user intervention, extracting one or more language expressionsassociated with the first instant message; displaying one or morelanguage expressions associated with the first instant message;receiving a user selection of one or more of the displayed languageexpressions; scrambling the one or more displayed language expressionsassociated with the first instant message in order to display one ormore other language expressions that were not displayed before thescrambling occurred; and including the one or more selected languageexpressions in a reply instant message to the first instant message. 10.The method as recited in claim 9, wherein extracting one or morelanguage expressions associated with the first instant message comprisesthe following: extracting one or more language expressions from thecontents of the first instant message.
 11. The method as recited inclaim 9, wherein extracting one or more language expressions associatedwith the first instant message comprises the following: extracting oneor more language expressions from text manually entered by the user. 12.The method as recited in claim 9, wherein extracting one or morelanguage expressions associated with the first instant message comprisesthe following: extracting one or more language expressions from a datadictionary.
 13. A computer program product for use in a network systemincluding a television set top box associated with a television and oneor more network devices, the television set top box and one or morenetwork devices being network connectable so as to be capable ofengaging in an instant messaging session, a computer program productcomprising one or more computer-readable media havingcomputer-executable instructions for implementing a method for a user ofthe television set top box to determine the capability of a second userto engage in an instant messaging session and for reducing the amount ofinput required by users, wherein the method comprises: displaying aninitial status icon to the user of the television set top box so as torepresent the second user's capability to engage in an instant messagingsession; associating a specific character sequence with a changed statusicon; the television set top box receiving the specific charactersequence associated with the changed status icon; and displaying thechanged status icon to the user of the television set top box so as torepresent a change in the second user's capability to engage in aninstant messaging session.
 14. The computer program product as recitedin claim 13, wherein the television set top box receiving the specificcharacter sequence associated with the changed status icon comprises thefollowing: the television set top box receiving an instant message thatincludes the specific character sequence associated with the changedstatus icon.
 15. The computer program product as recited in claim 13,wherein associating a specific character sequence with a changed statusicon comprises the following: associating a specific character sequencewith a changed status icon that represents the state of the second user.16. The computer program product as recited in claim 15, whereinassociating a specific character sequence with a changed status iconthat represents the state of the second user comprises the following:associating a specific character sequence with a changed status iconthat represents the second user is offline.
 17. The computer programproduct as recited in claim 15, wherein associating a specific charactersequence with a changed status icon that represents the state of thesecond user comprises the following: associating a specific charactersequence with a changed status icon that represents the second user isonline and ready to engage in an instant messaging session.
 18. Thecomputer program product as recited in claim 15, wherein associating aspecific character sequence with a changed status icon that representsthe state of the C second user comprises the following: associating aspecific character sequence with a changed status icon that representsthe second user is online but cannot engage in an instant messagingsystem.
 19. The computer program product as recited as recited in claim13, wherein associating a specific character sequence with a changedstatus icon comprises the following: associating a specific charactersequence not normally occurring in written language with a changedstatus icon.
 20. The computer program product as recited as recited inclaim 13, wherein associating a specific character sequence not normallyoccurring in written language with a changed status icon comprises thefollowing: associating a specific character sequence not normallyoccurring in written language with a changed status icon that representsthe state of the second user.